call toggle_row with valid row numbers only (toggle_row): check if
authorLars Hamann <lars@gtk.org>
Fri, 4 Dec 1998 01:11:46 +0000 (01:11 +0000)
committerLars Hamann <lars@src.gnome.org>
Fri, 4 Dec 1998 01:11:46 +0000 (01:11 +0000)
Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
        valid row numbers only
        (toggle_row): check if clist_row != NULL

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkclist.c

index c705531845af0d5c7243945d75ede165c587145a..c1249cef4b9005764d86e77bc241d9b0532a23ae 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
+
+       * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
+       valid row numbers only
+       (toggle_row): check if clist_row != NULL
+
 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
index c705531845af0d5c7243945d75ede165c587145a..c1249cef4b9005764d86e77bc241d9b0532a23ae 100644 (file)
@@ -1,3 +1,9 @@
+Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
+
+       * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
+       valid row numbers only
+       (toggle_row): check if clist_row != NULL
+
 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
index c705531845af0d5c7243945d75ede165c587145a..c1249cef4b9005764d86e77bc241d9b0532a23ae 100644 (file)
@@ -1,3 +1,9 @@
+Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
+
+       * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
+       valid row numbers only
+       (toggle_row): check if clist_row != NULL
+
 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
index c705531845af0d5c7243945d75ede165c587145a..c1249cef4b9005764d86e77bc241d9b0532a23ae 100644 (file)
@@ -1,3 +1,9 @@
+Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
+
+       * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
+       valid row numbers only
+       (toggle_row): check if clist_row != NULL
+
 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
index c705531845af0d5c7243945d75ede165c587145a..c1249cef4b9005764d86e77bc241d9b0532a23ae 100644 (file)
@@ -1,3 +1,9 @@
+Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
+
+       * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
+       valid row numbers only
+       (toggle_row): check if clist_row != NULL
+
 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
index c705531845af0d5c7243945d75ede165c587145a..c1249cef4b9005764d86e77bc241d9b0532a23ae 100644 (file)
@@ -1,3 +1,9 @@
+Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
+
+       * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
+       valid row numbers only
+       (toggle_row): check if clist_row != NULL
+
 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
index c705531845af0d5c7243945d75ede165c587145a..c1249cef4b9005764d86e77bc241d9b0532a23ae 100644 (file)
@@ -1,3 +1,9 @@
+Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
+
+       * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
+       valid row numbers only
+       (toggle_row): check if clist_row != NULL
+
 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
index d49d4d3c5ee891285061ec4ad2eb1782b5856f52..8bcc6b03b17d43e2f7fe7f77efe5afed1fd80f10 100644 (file)
@@ -3447,6 +3447,10 @@ toggle_row (GtkCList *clist,
     case GTK_SELECTION_MULTIPLE:
     case GTK_SELECTION_SINGLE:
       clist_row = g_list_nth (clist->row_list, row)->data;
+
+      if (!clist_row)
+       return;
+
       if (clist_row->state == GTK_STATE_SELECTED)
        {
          gtk_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW],
@@ -3466,8 +3470,9 @@ fake_toggle_row (GtkCList *clist,
 {
   GList *work;
 
-  if (!(work = g_list_nth (clist->row_list, row))||
-      !GTK_CLIST_ROW (work)->selectable)
+  work = g_list_nth (clist->row_list, row);
+
+  if (!work || !GTK_CLIST_ROW (work)->selectable)
     return;
   
   if (GTK_CLIST_ROW (work)->state == GTK_STATE_NORMAL)
@@ -5008,7 +5013,7 @@ gtk_clist_button_release (GtkWidget      *widget,
        case GTK_SELECTION_MULTIPLE:
          if (get_selection_info (clist, event->x, event->y, &row, &column))
            {
-             if (clist->anchor == clist->focus_row)
+             if (row >= 0 && row < clist->rows && clist->anchor == row)
                toggle_row (clist, row, column, (GdkEvent *) event);
            }
          clist->anchor = -1;